home *** CD-ROM | disk | FTP | other *** search
- Path: solon.com!not-for-mail
- From: seebs@solutions.solon.com (Peter Seebach)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu
- Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada)
- Date: 9 Apr 1996 22:59:05 -0500
- Organization: Usenet Fact Police (Undercover)
- Message-ID: <4kfbm9$ea2@solutions.solon.com>
- References: <JSA.96Feb16135027@organon.com> <dewar.829048603@schonberg> <4kets3$ic0@news-s01.ny.us.ibm.net> <dewar.829101156@schonberg>
- Reply-To: seebs@solon.com
- NNTP-Posting-Host: solutions.solon.com
-
- In article <dewar.829101156@schonberg>, Robert Dewar <dewar@cs.nyu.edu> wrote:
- >No, that's confused. First of all, the clear specifications of most
- >specific systems, e.g. SunOS, GUARANTEE *not* to give a sigsegv for
- >the call in question. Linux may or may nt give a SIGSEGV depending
- >on the luck of the draw (where the buffer is in memory).
-
- I suspect what you're seeing is an obvious bug in their specs. As
- written, the spec on at least one system also guarantees not to give
- a fault for
- char buf;
- read(fd, &buf, 1000);
- even if there are 1000 bytes available, because the check is only specified
- for whether the pointer given points to a valid object.
-
- >Of course writing portable code requires careful consideration
- >of various possibilities, and failure to be careful certainly
- >results in portability problems. But it is clear that if the
- >spec for read had been clearer, this bug would NOT have been
- >present in the first place!
-
- I doubt it. I would bet that whoever wrote it did not give adequate
- consideration to it, and did not check the spec in any detail.
-
- -s
- --
- Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
- C/Unix wizard -- C/Unix questions? Send mail for help. No, really!
- FUCK the communications decency act. Goddamned government. [literally.]
- The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
-